{{#poetry1}}
[tool.poetry]
{{/poetry1}}
{{^poetry1}}
[project]
{{/poetry1}}
name = "{{{packageName}}}"
version = "{{{packageVersion}}}"
description = "{{{appName}}}"
{{#poetry1}}
authors = ["{{infoName}}{{^infoName}}OpenAPI Generator Community{{/infoName}} <{{infoEmail}}{{^infoEmail}}team@openapitools.org{{/infoEmail}}>"]
{{/poetry1}}
{{^poetry1}}
authors = [
  {name = "{{infoName}}{{^infoName}}OpenAPI Generator Community{{/infoName}}",email = "{{infoEmail}}{{^infoEmail}}team@openapitools.org{{/infoEmail}}"},
]
{{/poetry1}}
{{#licenseInfo}}
{{#poetry1}}
license = "{{{licenseInfo}}}"
{{/poetry1}}
{{^poetry1}}
license = { text = "{{{licenseInfo}}}" }
{{/poetry1}}
{{/licenseInfo}}
readme = "README.md"
{{#poetry1}}
repository = "https://{{{gitHost}}}/{{{gitUserId}}}/{{{gitRepoId}}}"
{{/poetry1}}
keywords = ["OpenAPI", "OpenAPI-Generator", "{{{appName}}}"]
{{#poetry1}}
include = ["{{packageName}}/py.typed"]

[tool.poetry.dependencies]
python = "^3.9"
{{^async}}
urllib3 = ">= 2.1.0, < 3.0.0"
{{/async}}
python-dateutil = ">= 2.8.2"
{{#asyncio}}
aiohttp = ">= 3.8.4"
aiohttp-retry = ">= 2.8.3"
{{/asyncio}}
{{#httpx}}
httpx = ">= 0.28.1"
{{/httpx}}
{{#tornado}}
tornado = ">=4.2, <5"
{{/tornado}}
{{#hasHttpSignatureMethods}}
pem = ">= 19.3.0"
pycryptodome = ">= 3.9.0"
{{/hasHttpSignatureMethods}}
pydantic = ">= 2"
typing-extensions = ">= 4.7.1"
{{#lazyImports}}
lazy-imports = ">= 1, < 2"
{{/lazyImports}}
{{/poetry1}}
{{^poetry1}}
requires-python = ">=3.9"

dependencies = [
{{^async}}
  "urllib3 (>=2.1.0,<3.0.0)",
{{/async}}
  "python-dateutil (>=2.8.2)",
{{#httpx}}
  "httpx (>=0.28.1)",
{{/httpx}}
{{#asyncio}}
  "aiohttp (>=3.8.4)",
  "aiohttp-retry (>=2.8.3)",
{{/asyncio}}
{{#tornado}}
  "tornado (>=4.2,<5)",
{{/tornado}}
{{#hasHttpSignatureMethods}}
  "pem (>=19.3.0)",
  "pycryptodome (>=3.9.0)",
{{/hasHttpSignatureMethods}}
  "pydantic (>=2)",
  "typing-extensions (>=4.7.1)",
{{#lazyImports}}
  "lazy-imports (>=1,<2)"
{{/lazyImports}}
]

[project.urls]
Repository = "https://{{{gitHost}}}/{{{gitUserId}}}/{{{gitRepoId}}}"

{{/poetry1}}
{{^poetry1}}
[tool.poetry]
requires-poetry = ">=2.0"
{{/poetry1}}

{{#poetry1}}
[tool.poetry.dev-dependencies]
{{/poetry1}}
{{^poetry1}}
[tool.poetry.group.dev.dependencies]
{{/poetry1}}
pytest = ">= 7.2.1"
pytest-cov = ">= 2.8.1"
tox = ">= 3.9.0"
flake8 = ">= 4.0.0"
types-python-dateutil = ">= 2.8.19.14"
mypy = ">= 1.5"


[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[tool.pylint.'MESSAGES CONTROL']
extension-pkg-whitelist = "pydantic"

[tool.mypy]
files = [
  "{{{packageName}}}",
  #"test",  # auto-generated tests
  "tests", # hand-written tests
]
# TODO: enable "strict" once all these individual checks are passing
# strict = true

# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options
warn_unused_configs = true
warn_redundant_casts = true
warn_unused_ignores = true

## Getting these passing should be easy
strict_equality = true
extra_checks = true

## Strongly recommend enabling this one as soon as you can
check_untyped_defs = true

## These shouldn't be too much additional work, but may be tricky to
## get passing if you use a lot of untyped libraries
disallow_subclassing_any = true
disallow_untyped_decorators = true
disallow_any_generics = true

### These next few are various gradations of forcing use of type annotations
#disallow_untyped_calls = true
#disallow_incomplete_defs = true
#disallow_untyped_defs = true
#
### This one isn't too hard to get passing, but return on investment is lower
#no_implicit_reexport = true
#
### This one can be tricky to get passing if you use a lot of untyped libraries
#warn_return_any = true

[[tool.mypy.overrides]]
module = [
  "{{{packageName}}}.configuration",
]
warn_unused_ignores = true
strict_equality = true
extra_checks = true
check_untyped_defs = true
disallow_subclassing_any = true
disallow_untyped_decorators = true
disallow_any_generics = true
disallow_untyped_calls = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
no_implicit_reexport = true
warn_return_any = true
